#ifndef __CM_MEDIA_FILTER_H__
#define __CM_MEDIA_FILTER_H__

#include "Common.h"
#include "Pin.h"

namespace cm_media
{
    class Graph;

    class Filter: public RefCountedObject
    {
    public:
        Filter();
        
        FilterState getState();
        virtual int translateStateTo(FilterState state);

        int setParent( Graph* m_parent);
        Graph* getParent();

    protected:
        virtual ~Filter();

    protected:
        FilterState m_state;

        Graph* m_parent;
    };


}//cm_media

#endif //